#define _CRT_SECURE_NO_WARNINGS 
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d %d", &n, &m);
//	int arr[1000] = { 0 };
//	int i = 0;
//	int candle = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	int arr_2[1000] = { 0 };
//	int j = 0;
//	int count = 0;
//	for (j = 0; j < m; j++)
//	{
//		scanf("%d", &arr_2[j]);
//		count++;
//	}
//	int k = 0;
//	while (m != 0)
//	{
//		for (i = 0; i < 6; i++)
//		{
//			if (i <  count)
//			{
//				arr[i] = arr[i + arr_2[k]];
//			}
//		}
//		k++;
//		m--;
//		for (i = 0; i < 6; i++)
//		{
//			if (arr[i] == 1)
//			{
//				arr[i] = 0;
//				candle++;
//			}
//		}
//	}
//	printf("%d\n", candle);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	int m = 0;
//	scanf("%d %d", &n, &m);
//	int arr_1[1000] = { 0 };
//	int arr_2[1000] = { 0 };
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr_1[i]);
//	}
//	for (j = 0; j < m; j++)
//	{
//		scanf("%d", &arr_2[j]);
//	}
//	int turn = 0;
//	int candy = 0;
//	int pos = 0;
//	for (turn = 0; turn < m; turn++)
//	{
//		pos = (pos + arr_2[turn]) % n;
//		if (arr_1[pos] == 1)
//		{
//			candy++;
//			arr_1[pos] = 0;
//		}
//	}
//	printf("%d\n", candy);
//	return 0;
//}
//#include<stdio.h>
//#define MOD 100000007
//int main()
//{
//	int N = 0;
//	int K = 0;
//	scanf("%d %d", &N, &K);
//	long long i = 0;
//	long long fraction = 1;
//	if (N < K)
//	{
//		printf("0\n");
//	}
//	else
//	{
//		for (i = 1; i <= N; i++)
//		{
//			fraction *= i;
//		}
//	}
//	printf("%lld\n", fraction % MOD);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	long long n = 0;
//	scanf("%d", &n);
//	long long arr[1000] = { 0 };
//	long long i = 0;
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	//long long j = 0;
//	long long share = 0;
//	long long sum = 0;
//	//long long result = Add(arr, n);
//	for (i = 0; i < n; i++)
//	{
//		sum += arr[i];
//	}
//	share = sum / n;
//	long long new_sum = 0;
//	for (i = 0; i < n; i++)
//	{
//		new_sum += (share - arr[i]);
//	}
//	if (new_sum == 0)
//	{
//		printf("YES\n");
//	}
//	else
//	{
//		printf("NO\n");
//	}
//	return 0;
//}
//#include<stdio.h>
//#include<stdlib.h>
//#include<stdbool.h>
//#define MAX_N 100
//int main()
//{
//	int N = 0;
//	scanf("%d", &N);
//	int distance[MAX_N] = { 0 };
//	int sum = 0;
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < N; i++)
//	{
//		scanf("%d",&distance[i]);
//	}
//
//	for (i = 0; i < N; i++)
//	{
//		sum += distance[i];
//	}
//	if (sum % 2 != 0)
//	{
//		printf("NO\n");
//		return 0;
//	}
//	//sum = sum / 2 + 1;
//	bool dp[MAX_N + 1][sum / 2 + 1];
//	for (i = 0; i <= N; i++)
//	{
//		for (j = 0; j <= sum / 2; j++)
//		{
//			dp[i][j] = false;
//		}
//	}
//	dp[0][0] = true;
//	for (i = 1; i <= N; i++)
//	{
//		for (j = 1; j <= sum / 2; j++)
//		{
//			dp[i][j] = dp[i - 1][j];
//			if (j >= distance[i - 1])
//			{
//				dp[i][j] |= dp[i - 1][j - distance[i - 1]];
//			}
//		}
//	}
//	if (dp[N][sum / 2])
//	{
//		printf("YES\n");
//	}
//	else
//	{
//		printf("NO\n");
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	long long int n = 0;
//	scanf("%lld", &n);
//	//int count = 0;
//	long long int i = 0;
//	long long int gold = 0;
//	int sum = 0;
//	/*for (i = 1;i <= n; i++)
//	{
//		if (sum == n)
//		{
//			break;
//
//		}
//		else
//		{
//			sum += i;
//			gold += i * i;
//		}
//	}*/
//	while (sum != n)
//	{
//		sum += i;
//		gold += i * i;
//		i++;
//	}
//	printf("%lld\n", sum);
//	printf("%lld\n", gold);
//	return 0;
//}'
#include<stdio.h>
int main()
{
	long long n = 0;
	scanf("%lld", n);
	long long i = 0;
	long long sum = 0;
	long long gold = 0;
	for (i = 1; i <= n; i++)
	{
		if (sum != n)
		{
			sum += i;
			gold += i * i;
		}
	}
	printf("%lld\n", gold);
	return 0;
}